c1.n=function(data,s2,Mbar,N,param,B){ data=as.name(data); N=N; s2=s2; B=B Mbar=Mbar; param=as.name(param) if(param=='total'){ D=B^2/(4*N^2) } else { D=(B^2*Mbar^2)/4 } n=ceiling((N*s2)/(N*D+s2)) cat("","\n","Sample size estimation for 1 stage cluster design","\n","Data:",data,"\n",'Estimation for',param,'\n', "N =",N,"Required bound =",B,'\n',"Estimated variance =",s2,"\n","Estimated n =",n,"\n") results=list(data=data,N=N,s2=s2,B=B,D=D,n=n,param=param) } # to use the function with its call: # c1.n(data,s2,Mbar,N,param,B) # data: name of dataset, in quotes # s2: s2r when M known, s2t when M unknown # Mbar: either Mbar or mbar (single number) # N: population size (single number) # param: c('mean','total','proportion') # B: desired bound